package com.show.business.device.bean;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.show.business.common.core.domain.BaseEntity;
import com.show.business.device.bean.vo.DeviceLineVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.util.Date;
import java.util.List;

/**
 * <p>
 * 设备管理
 * </p>
 *
 * @author dvlp
 * @since 2023-10-14
 */
@Getter
@Setter
@TableName("t_device_manage")
@ApiModel(value = "DeviceManage对象", description = "设备管理")
public class DeviceManage extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("设备编码")
    private String deviceCode;

    @ApiModelProperty("设备名称")
    private String deviceName;

    @ApiModelProperty("设备IMEI码")
    private String imei;

    @ApiModelProperty("设备ICCID码")
    private String iccid;

    @ApiModelProperty("设备类型(0-单路；1-多路)")
    private String deviceType;

    @ApiModelProperty("设备型号")
    private String deviceModel;

    @ApiModelProperty("安装-路段id")
    private String roadSectionId;

    @ApiModelProperty("安装-路段")
    private String roadSection;

    @ApiModelProperty("安装-场地id")
    private String siteId;

    @ApiModelProperty("安装-场地")
    private String site;

    @ApiModelProperty("安装-位置id")
    private String locationId;

    @ApiModelProperty("安装-位置")
    private String location;

    @ApiModelProperty("设备通信状态（0-离线；1-在线；)")
    private String deviceStatus;

    @ApiModelProperty("负责人")
    private String leader;

    @ApiModelProperty("安装时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date installTime;

    @ApiModelProperty("分组id")
    private String groupId;

    @ApiModelProperty("分组名称")
    private String groupName;

    @ApiModelProperty("分组时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date groupTime;

    @ApiModelProperty("备注")
    private String remark;

    @ApiModelProperty("是否开启主线监控(0-开启；1-未开启)")
    private String monitorMainline;

    @ApiModelProperty("主线状态(0-断电；1-通电)")
    private String mainStrandState;

    @ApiModelProperty("是否开启1号子线监测(0-开启；1-未开启)")
    private String monitorOneStrand;

    @ApiModelProperty("1号子线监测-检测220V为断电，检测380V为缺相(0-断电/缺相；1-通电)")
    private String oneStrandState;

    @ApiModelProperty("1号子线监测电压（0-220V;1-380V）")
    private String oneStrandVoltage;

    @ApiModelProperty("1号子线监测备注")
    private String oneStrandRemark;

    @ApiModelProperty("是否开启2号子线监测(0-开启；1-未开启)")
    private String monitorTwoStrand;

    @ApiModelProperty("2号子线监测-检测220V为断电，检测380V为缺相(0-断电/缺相；1-通电)")
    private String twoStrandState;

    @ApiModelProperty("2号子线监测电压（0-220V;1-380V）")
    private String twoStrandVoltage;

    @ApiModelProperty("2号子线监测备注")
    private String twoStrandRemark;

    @ApiModelProperty("是否开启3号子线监测(0-开启；1-未开启)")
    private String monitorThreeStrand;

    @ApiModelProperty("3号子线监测-检测220V为断电，检测380V为缺相(0-断电/缺相；1-通电)")
    private String threeStrandState;

    @ApiModelProperty("3号子线监测电压（0-220V;1-380V）")
    private String threeStrandVoltage;

    @ApiModelProperty("3号子线监测备注")
    private String threeStrandRemark;

    @ApiModelProperty("是否开启4号子线监测(0-开启；1-未开启)")
    private String monitorFourStrand;

    @ApiModelProperty("4号子线监测-检测220V为断电，检测380V为缺相(0-断电/缺相；1-通电)")
    private String fourStrandState;

    @ApiModelProperty("4号子线监测电压（0-220V;1-380V）")
    private String fourStrandVoltage;

    @ApiModelProperty("4号子线监测备注")
    private String fourStrandRemark;

    @ApiModelProperty("备用供电线路（0-有；1-无）")
    private String backUpPowerLines;

    @ApiModelProperty("主线路名称")
    private String primaryLineName;



    @ApiModelProperty("删除标识, 0存在，1删除")
    private String delFlag;

    /**
     * 设备线路信息 */
    @TableField(exist = false)
    @ApiModelProperty("设备线路信息")
    List<DeviceLineVo> lineList;
}
